{% form_theme form '::fields2tab.html.twig' %}
<div class="contentwrapper">
    <div class="heading">
        <h3>Nouveau Article</h3>
    </div>
    <div class="row-fluid">
        <div class="span12">
            <form id="form_article" action="" {{ form_enctype(form) }} method="POST" class="form-horizontal seperator">
                {{ form_row(form.reference) }}
                    {{ form_row(form.designation) }}
                    {{ form_row(form.code_barre) }}
                    {{form_row(form.unite)}}
                    {{form_row(form.famille)}}
                    {{ form_row(form.taux_tva) }}
                    <div class="form-row form-2-tab">
                        <div class="span12">
                            <div class="row-fluid">
                                <label class="form-label span5 required" >Prix Achat TTC :<span class="etoil-requered" title="Ce champ est obligatoire">*</span></label>
                                <input id="prix_achat_ttc" class="span4" type="text" maxlength="255" required="required" />
                                <label class="error">
                                </label>
                            </div>
                        </div>
                    </div>
                    {{ form_row(form.prix_achat_ht) }}
                    <div class="form-row form-2-tab">
                        <div class="span12">
                            <div class="row-fluid">
                                <label class="form-label span5 required" >Marge :<span class="etoil-requered" title="Ce champ est obligatoire">*</span></label>
                                <input id="marge" class="span4" type="text" maxlength="255" required="required" />
                                <label class="error">
                                </label>
                            </div>
                        </div>
                    </div>
                    <div class="form-row form-2-tab"></div>

                    <div class="form-row form-2-tab">
                        <div class="span12">
                            <div class="row-fluid">
                                <label class="form-label span5 required" >Prix Vente TTC :<span class="etoil-requered" title="Ce champ est obligatoire">*</span></label>
                                <input id="prix_vente_ttc" class="span4" type="text" maxlength="255" required="required" />
                                <label class="error">
                                </label>
                            </div>
                        </div>
                    </div>
                    {{form_row(form.prix_vente)}}
                    {{form_row(form.remise)}}
                    {{form_row(form.remise_max)}}
                    <div class="form-row form-2-tab">
                        <div class="span12">
                            <div class="row-fluid">
                                <label class="form-label span5 required" >Prix Vente avec remise TTC :<span class="etoil-requered" title="Ce champ est obligatoire">*</span></label>
                                <input id="prix_vente_remise_ttc" class="span4" type="text" maxlength="255" required="required" />
                                <label class="error">
                                </label>
                            </div>
                        </div>
                    </div>
                    <div class="form-row form-2-tab">
                        <div class="span12">
                            <div class="row-fluid">
                                <label class="form-label span5 required" >Prix Vente avec remise max TTC :<span class="etoil-requered" title="Ce champ est obligatoire">*</span></label>
                                <input id="prix_vente_remise_max_ttc" class="span4" type="text" maxlength="255" required="required" />
                                <label class="error">
                                </label>
                            </div>
                        </div>
                    </div>

                    {{ form_row(form._token) }}
                    <div style="float: left;width: 90%" class="form-actions">
                        <button onclick="saveArticle('n')" class="btn btn-info" type="button">Enregistrer et Nouveau</button>
                        <button onclick="saveArticle('f')" class="btn btn-info" type="button">Enregistrer et Fermer</button>
                        <button onclick="listArticle()" class="btn" type="button">Retour vers liste</button>
                    </div>
                </form>
            </div>
        </div>
    </div>
    <script>
                            $('#gds_articlebundle_articletype_code_barre').dblclick(function() {
                                $.ajax({
                                    url: '{{path('gds_article_generate_code_barre')}}',
                                    success: function(data) {
                                        $('#gds_articlebundle_articletype_code_barre').val(data)
                                    }
                                })
                            })
                            $('#prix_vente_remise_ttc').spinner({
                                step: 1,
                                places: 3,
                                
                                showOn: 'both'
                            });
                            $('#prix_vente_remise_ttc').val('0.000')
                            $('#prix_vente_remise_max_ttc').spinner({
                                step: 1,
                                places: 3,
                                
                                showOn: 'both'
                            });
                            $('#prix_vente_remise_max_ttc').val('0.000')
                            $('#gds_articlebundle_articletype_prix_vente').spinner({
                                step: 1,
                                places: 3,
                                
                                showOn: 'both'
                            });
                            $('#prix_vente_ttc').spinner({
                                step: 1,
                                places: 3,
                                
                                showOn: 'both'
                            });
                            $('#marge').spinner({
                                step: 1,
                                places: 3,
                                showOn: 'both'
                            });
                            $('#gds_articlebundle_articletype_prix_achat_ht').spinner({
                                step: 1,
                                places: 3,
                                
                                showOn: 'both'
                            });
                            $('#prix_achat_ttc').spinner({
                                step: 1,
                                places: 3,
                                
                                showOn: 'both'
                            });
                            $('#gds_articlebundle_articletype_taux_tva').spinner({
                                step: 1,
                                places: 2,
                                
                                showOn: 'both'
                            });
                            $('#gds_articlebundle_articletype_remise').spinner({
                                step: 1,
                                places: 2,
                                
                                showOn: 'both'
                            });
                            $('#gds_articlebundle_articletype_remise_max').spinner({
                                step: 1,
                                places: 2,
                                
                                showOn: 'both'
                            });
                            $('#gds_articlebundle_articletype_prix_vente').spinner({
                                step: 1,
                                places: 3,
                                max: 99999999999,
                                showOn: 'both'
                            });
                            $('#gds_articlebundle_articletype_prix_vente').val('0.000')
                            $('#marge').val('0.000')
                            $('#prix_vente_ttc').val('0.000')
                            $('#gds_articlebundle_articletype_prix_achat_ht').val('0.000')
                            $('#prix_achat_ttc').val('0.000')
                            $('#gds_articlebundle_articletype_taux_tva').val('18.00')
                            $('#gds_articlebundle_articletype_prix_vente').val('0.000')
                            $('#gds_articlebundle_articletype_remise').val('25.00')
                            $('#gds_articlebundle_articletype_remise_max').val('35.00')

                            // ================================change=================================
                            $('#gds_articlebundle_articletype_taux_tva').change(function() {
                                $(this).keyup()
                            })
                            $('#prix_achat_ttc').change(function() {
                                $(this).keyup()
                            })
                            $('#gds_articlebundle_articletype_prix_achat_ht').change(function() {
                                $(this).keyup()
                            })
                            $('#marge').change(function() {
                                $(this).keyup()
                            })
                            $('#prix_vente_ttc').change(function() {
                                $(this).keyup()
                            })
                            $('#gds_articlebundle_articletype_prix_vente').change(function() {
                                $(this).keyup()
                            })
                            $('#gds_articlebundle_articletype_remise').change(function() {
                                $(this).keyup()
                            })
                            $('#gds_articlebundle_articletype_remise_max').change(function() {
                                $(this).keyup()
                            })
                            $('#prix_vente_remise_ttc').change(function() {
                                $(this).keyup()
                            })
                            $('#prix_vente_remise_max_ttc').change(function() {
                                $(this).keyup()
                            })

                            // =======================keyup===============================
                            $('#gds_articlebundle_articletype_taux_tva').keyup(function() {
                                var taux_tva = $(this).val()
                                var prix_achat_ht = $('#gds_articlebundle_articletype_prix_achat_ht').val()
                                var prix_vente_ht = $('#gds_articlebundle_articletype_prix_vente').val()
                                var remise = $('#gds_articlebundle_articletype_remise').val()
                                var remise_max = $('#gds_articlebundle_articletype_remise_max').val()

                                var prix_achat_ttc = prix_achat_ht * (1 + taux_tva / 100)
                                $('#prix_achat_ttc').val(prix_achat_ttc)
                                var prix_vente_ttc = prix_vente_ht * (1 + taux_tva / 100)
                                $('#prix_vente_ttc').val(prix_vente_ttc.toFixed(3))
                                var prix_vente_remise_ttc = prix_vente_ttc * (1 - remise / 100)
                                $('#prix_vente_remise_ttc').val(prix_vente_remise_ttc.toFixed(3))
                                var prix_vente_remise_max_ttc = prix_vente_ttc * (1 - remise_max / 100)
                                $('#prix_vente_remise_max_ttc').val(prix_vente_remise_max_ttc.toFixed(3))
                            })
                            $('#prix_achat_ttc').keyup(function() {
                                var taux_tva = $('#gds_articlebundle_articletype_taux_tva').val()
                                var prix_achat_ttc = $(this).val()
                                var marge = $('#marge').val()
                                var remise = $('#gds_articlebundle_articletype_remise').val()
                                var remise_max = $('#gds_articlebundle_articletype_remise_max').val()

                                var prix_achat_ht = prix_achat_ttc / (1 + taux_tva / 100)
                                $('#gds_articlebundle_articletype_prix_achat_ht').val(prix_achat_ht.toFixed(3))
                                var prix_vente_ttc = prix_achat_ttc * (1 + marge / 100)
                                $('#prix_vente_ttc').val(prix_vente_ttc.toFixed(3))
                                var prix_vente_ht = prix_achat_ht * (1 + marge / 100)
                                $('#gds_articlebundle_articletype_prix_vente').val(prix_vente_ht.toFixed(3))
                                var prix_vente_remise_ttc = prix_vente_ttc * (1 - remise / 100)
                                $('#prix_vente_remise_ttc').val(prix_vente_remise_ttc.toFixed(3))
                                var prix_vente_remise_max_ttc = prix_vente_ttc * (1 - remise_max / 100)
                                $('#prix_vente_remise_max_ttc').val(prix_vente_remise_max_ttc.toFixed(3))
                            })

                            $('#gds_articlebundle_articletype_prix_achat_ht').keyup(function() {
                                var taux_tva = $('#gds_articlebundle_articletype_taux_tva').val()
                                var prix_achat_ht = $(this).val()
                                var marge = $('#marge').val()
                                var remise = $('#gds_articlebundle_articletype_remise').val()
                                var remise_max = $('#gds_articlebundle_articletype_remise_max').val()

                                var prix_achat_ttc = prix_achat_ht * (1 + taux_tva / 100)
                                $('#prix_achat_ttc').val(prix_achat_ttc.toFixed(3))
                                var prix_vente_ht = prix_achat_ht * (1 + marge / 100)
                                $('#gds_articlebundle_articletype_prix_vente').val(prix_vente_ht.toFixed(3))
                                var prix_vente_ttc = prix_achat_ttc * (1 + marge / 100)
                                $('#prix_vente_ttc').val(prix_vente_ttc.toFixed(3))
                                var prix_vente_remise_ttc = prix_vente_ttc * (1 - remise / 100)
                                $('#prix_vente_remise_ttc').val(prix_vente_remise_ttc.toFixed(3))
                                var prix_vente_remise_max_ttc = prix_vente_ttc * (1 - remise_max / 100)
                                $('#prix_vente_remise_max_ttc').val(prix_vente_remise_max_ttc.toFixed(3))
                            })

                            $('#marge').keyup(function() {
                                var prix_achat_ttc = $('#prix_achat_ttc').val()
                                var prix_achat_ht = $('#gds_articlebundle_articletype_prix_achat_ht').val()
                                var marge = $(this).val()
                                var remise = $('#gds_articlebundle_articletype_remise').val()
                                var remise_max = $('#gds_articlebundle_articletype_remise_max').val()

                                var prix_vente_ttc = prix_achat_ttc * (1 + marge / 100)
                                $('#prix_vente_ttc').val(prix_vente_ttc.toFixed(3))
                                var prix_vente_ht = prix_achat_ht * (1 + marge / 100)
                                $('#gds_articlebundle_articletype_prix_vente').val(prix_vente_ht.toFixed(3))
                                var prix_vente_remise_ttc = prix_vente_ttc * (1 - remise / 100)
                                $('#prix_vente_remise_ttc').val(prix_vente_remise_ttc.toFixed(3))
                                var prix_vente_remise_max_ttc = prix_vente_ttc * (1 - remise_max / 100)
                                $('#prix_vente_remise_max_ttc').val(prix_vente_remise_max_ttc.toFixed(3))
                            })

                            $('#prix_vente_ttc').keyup(function() {
                                var prix_vente_ttc = $(this).val()
                                var prix_achat_ttc = $('#prix_achat_ttc').val()
                                var prix_achat_ht = $('#gds_articlebundle_articletype_prix_achat_ht').val()
                                var remise = $('#gds_articlebundle_articletype_remise').val()
                                var remise_max = $('#gds_articlebundle_articletype_remise_max').val()

                                var marge = (prix_vente_ttc / prix_achat_ttc - 1) * 100
                                $('#marge').val(marge.toFixed(2))
                                var prix_vente_ht = prix_achat_ht * (1 + marge / 100)
                                $('#gds_articlebundle_articletype_prix_vente').val(prix_vente_ht.toFixed(3))
                                var prix_vente_remise_ttc = prix_vente_ttc * (1 - remise / 100)
                                $('#prix_vente_remise_ttc').val(prix_vente_remise_ttc.toFixed(3))
                                var prix_vente_remise_max_ttc = prix_vente_ttc * (1 - remise_max / 100)
                                $('#prix_vente_remise_max_ttc').val(prix_vente_remise_max_ttc.toFixed(3))
                            })

                            $('#gds_articlebundle_articletype_prix_vente').keyup(function() {
                                var prix_vente_ht = $(this).val()
                                var prix_achat_ttc = $('#prix_achat_ttc').val()
                                var prix_achat_ht = $('#gds_articlebundle_articletype_prix_achat_ht').val()
                                var remise = $('#gds_articlebundle_articletype_remise').val()
                                var remise_max = $('#gds_articlebundle_articletype_remise_max').val()

                                var marge = (prix_vente_ht / prix_achat_ht - 1) * 100
                                $('#marge').val(marge.toFixed(2))
                                var prix_vente_ttc = prix_achat_ttc * (1 + marge / 100)
                                $('#prix_vente_ttc').val(prix_vente_ttc.toFixed(3))
                                var prix_vente_remise_ttc = prix_vente_ttc * (1 - remise / 100)
                                $('#prix_vente_remise_ttc').val(prix_vente_remise_ttc.toFixed(3))
                                var prix_vente_remise_max_ttc = prix_vente_ttc * (1 - remise_max / 100)
                                $('#prix_vente_remise_max_ttc').val(prix_vente_remise_max_ttc.toFixed(3))
                            })

                            $('#gds_articlebundle_articletype_remise').keyup(function() {
                                var remise = $(this).val()
                                var prix_vente_ttc = $('#prix_vente_ttc').val()

                                var prix_vente_remise_ttc = prix_vente_ttc * (1 - remise / 100)
                                $('#prix_vente_remise_ttc').val(prix_vente_remise_ttc.toFixed(3))
                            })

                            $('#gds_articlebundle_articletype_remise_max').keyup(function() {
                                var remise_max = $(this).val()
                                var prix_vente_ttc = $('#prix_vente_ttc').val()

                                var prix_vente_remise_max_ttc = prix_vente_ttc * (1 - remise_max / 100)
                                $('#prix_vente_remise_max_ttc').val(prix_vente_remise_max_ttc.toFixed(3))
                            })

                            $('#prix_vente_remise_ttc').keyup(function() {
                                var prix_vente_remise_ttc = $(this).val()
                                var prix_achat_ttc = $('#prix_achat_ttc').val()
                                var prix_achat_ht = $('#gds_articlebundle_articletype_prix_achat_ht').val()
                                var remise = $('#gds_articlebundle_articletype_remise').val()
                                var remise_max = $('#gds_articlebundle_articletype_remise_max').val()

                                var prix_vente_ttc = prix_vente_remise_ttc / (1 - remise / 100)
                                $('#prix_vente_ttc').val(prix_vente_ttc.toFixed(3))
                                var prix_vente_remise_max_ttc = prix_vente_ttc * (1 - remise_max / 100)
                                $('#prix_vente_remise_max_ttc').val(prix_vente_remise_max_ttc.toFixed(3))
                                var marge = (prix_vente_ttc / prix_achat_ttc - 1) * 100
                                $('#marge').val(marge.toFixed(2))
                                var prix_vente_ht = prix_achat_ht * (1 + marge / 100)
                                $('#gds_articlebundle_articletype_prix_vente').val(prix_vente_ht.toFixed(3))

                            })

                            $('#prix_vente_remise_max_ttc').keyup(function() {
                                var prix_vente_remise_max_ttc = $(this).val()
                                var prix_vente_ttc = $('#prix_vente_ttc').val()

                                var remise_max = (1 - (prix_vente_remise_max_ttc / prix_vente_ttc)) * 100
                                $('#gds_articlebundle_articletype_remise_max').val(remise_max.toFixed(2))
                            })





                            $('#gds_articlebundle_articletype_reference').change(function() {
                                $.ajax({
                                    dataType: 'json',
                                    url: '{{path('gds_article_test_reference')}}',
                                    data: 'reference=' + $('#gds_articlebundle_articletype_reference').val(),
                                    success: function(data) {
                                        if (data.success == 0) {
                                            $('#gds_articlebundle_articletype_reference').addClass('error')
                                            $('#gds_articlebundle_articletype_reference').after('<label class="error" id="gds_articlebundle_articletype_reference_error" generated="true">Cette Réference est utilisé par un autre Article.</label>')
                                        } else {
                                            $('#gds_articlebundle_articletype_reference').removeClass('error')
                                            $('#gds_articlebundle_articletype_reference_error').remove()
                                        }
                                    }
                                })
                            })
                            $('#gds_articlebundle_articletype_designation').change(function() {
                                $.ajax({
                                    dataType: 'json',
                                    url: '{{path('gds_article_test_designation')}}',
                                    data: 'designation=' + $('#gds_articlebundle_articletype_designation').val(),
                                    success: function(data) {
                                        if (data.success == 0) {
                                            $('#gds_articlebundle_articletype_designation').addClass('error')
                                            $('#gds_articlebundle_articletype_designation').after('<label class="error" id="gds_articlebundle_articletype_designation_error" generated="true">Cette Désignation est utilisé par un autre Article.</label>')
                                        } else {
                                            $('#gds_articlebundle_articletype_designation').removeClass('error')
                                            $('#gds_articlebundle_articletype_designation_error').remove()
                                        }
                                    }
                                })
                            })
                            $('#gds_articlebundle_articletype_code_barre').change(function() {
                                $.ajax({
                                    dataType: 'json',
                                    url: '{{path('gds_article_test_code_barre')}}',
                                    data: 'code_barre=' + $('#gds_articlebundle_articletype_code_barre').val(),
                                    success: function(data) {
                                        if (data.success == 0) {
                                            $('#gds_articlebundle_articletype_code_barre').addClass('error')
                                            $('#gds_articlebundle_articletype_code_barre').after('<label class="error" id="gds_articlebundle_articletype_code_barre_error" generated="true">Cette code à barre est utilisé par un autre Article.</label>')
                                        } else {
                                            $('#gds_articlebundle_articletype_code_barre').removeClass('error')
                                            $('#gds_articlebundle_articletype_code_barre_error').remove()
                                        }
                                    }
                                })
                            })

                            function saveArticle(red) {
                                var data = $('#form_article').serialize()
                                if ($('#form_article').valid() && $('#gds_articlebundle_articletype_code_barre_error').length == 0 && $('#gds_articlebundle_articletype_designation_error').length == 0 && $('#gds_articlebundle_articletype_reference_error').length == 0) {
                                    $.ajax({
                                        type: 'post',
                                        url: '{{ path('gds_article_new') }}',
                                        data: data + '&red=' + red,
                                        success: function(data) {
                                            $.msgBox({
                                                title: $('#gds_articlebundle_articletype_designation').val(),
                                                content: "Enregistrement Effectué avec Succes",
                                                type: "info",
                                                success: function(result) {
                                                    $('#div_article').html(data)
                                                }
                                            });
                                        }
                                    })
                                }
                            }
                            function listArticle() {
                                $.ajax({
                                    type: 'post',
                                    url: '{{ path('gds_article_list') }}',
                                    success: function(data) {
                                        $('#div_article').html(data)
                                    }
                                })
                            }
        </script>